var coupon = Domain(
  feature("Coupon",
    gist -> "The application will have functionality for special offers through a coupon system",
    spec -> "The product shall provide a way for the product consumer to communicate special coupon offers to the user.",
    state -> specified,
    owner -> "product",
    text -> "Elicitation = Brainstorming, Specification = Task Description",
	prio -> 5
	),
  function("Hide coupon",
    gist -> "Hide an unwanted cuopon",
    spec -> "The user shall be able to hide coupons that they don\'t like to view.",
    state -> specified,
    owner -> "product",
    text -> "Elicitation = Task demonstration, Specification = Task Description",
	prio -> 8
	),
  function("Show hidden coupons",
    gist -> "Show which coupons have been hidden",
    spec -> "The user shall be able to view a list of all available coupons that are currently hidden.",
    state -> specified,
    owner -> "product",
    text -> "Elicitation = Task demonstration, Specification = Task Description",
	prio -> 3
	),
  function("Unhide hidden coupon",
    gist -> "Unhide a coupon",
    spec -> "The user shall be able to unhide a coupon if they want to view it again.",
    state -> specified,
    owner -> "product",
    text -> "Elicitation = Task demonstration, Specification = Task Description",
	prio -> 6
	),
  function("Use coupon",
    gist -> "Use a coupon ",
    spec -> "The user shall be able to use a coupon provided by the system in a store.",
    state -> specified,
    owner -> "product",
    text -> "Elicitation = Task demonstration, Specification = Task Description",
	prio -> 6
	),
  data("Coupon usage count",
    gist -> "Counts the number of use",
    spec -> "The coupon has a attribute showing the number of times it has been used.",
    state -> specified,
    owner -> "design",
    text -> "Elicitation = Task demonstration, Specification = Task Description",
	prio -> 4
	),
  data("Coupon usage limit",
    gist -> "Limit the number of times a coupon is used",
    spec -> "The coupon has an attribute showing how many times it can be used.",
    state -> specified,
    owner -> "design",
    text -> "Elicitation = Task demonstration, Specification = Data model",
	prio -> 8
	),
  data("Coupon title",
    gist -> "A string containing the coupon title.",
    spec -> "The title is a string with a maximum of 128 chars stat is used to catch the users attention and also give a brief introduction to what the coupon offer is about.",
    state -> specified,
    owner -> "design",
    text -> "Elicitation = Task demonstration, Specification = Data model",
	prio -> 8
	),
  data("Coupon description",
    gist -> "A string containing the coupon description.",
    spec -> "The description string has no maximum value and is stored with a TEXT type in the database. The description i used to set the parameters for the offer and give a more detaild explaination of the offer.",
    state -> specified,
    owner -> "design",
    text -> "Elicitation = Task demonstration, Specification = Data model",
	prio -> 5
	),
  data("Coupon applicable stores",
    gist -> "Coupons for specific stores",
    spec -> "A coupon shall have a list of which stores they are useable in.",
    state -> specified,
    owner -> "design",
    text -> "Elicitation = Task demonstration, Specification = Data model",
	prio -> 7
	),
  data("QR code",
    gist -> "Coupons registered with QR code",
    spec -> "The coupons should have a QR code.",
    state -> specified,
    owner -> "design",
    text -> "Elicitation = Task demonstration, Specification = Data model",
	prio ->	2
	),
  data("Coupon expiration",
    gist -> "Date when coupon expires",
    spec -> "The coupon shall have a attribute that shows when it expires.",
    state -> specified,
    owner -> "design",
    text -> "Elicitation = Brainstorming, Specification = Data model",
	prio -> 5
	)
)
